package com.kgc.scd.service;

import com.kgc.scd.vo.ShopUserCouponVO;

import java.util.List;
import java.util.Map;

/**
 * Created On : 2022/11/15.
 * <p>
 * Author : yantao
 * <p>
 * Description: CouponService
 */
public interface CouponService {

    /**
     * @author : yantao
     * @date   : 2022/11/15
     * @param  : [couponId, categoryId, userId]
     * @return : java.lang.String
     * @description : 添加用户的优惠卷
     */
    String addCouponsUser(String couponId,String userId);

    /**
     * @author : yantao
     * @date   : 2022/11/16
     * @param  : [userCouponId, categoryId, userId]
     * @return : java.lang.String
     * @description : 判断优惠券状态
     */
    Map<String,Object> examineCouponsState(String userCouponId, String categoryId, Double money, String userId);

    /**
     * @author : yantao
     * @date   : 2022/11/16
     * @param  : [userCouponId]
     * @return : java.lang.String
     * @description : 删除优惠券,true成功,false删除失败
     */
    boolean deleteUserCoupon(String userCouponId);

    /**
     * @author : yantao
     * @date   : 2022/11/16
     * @param  : [userId]
     * @return : java.util.List<com.kgc.scd.vo.ShopUserCouponVO>
     * @description : 查询所有用户的优惠券,所包含状态
     */
    List<ShopUserCouponVO> selectUserCouponAll(String userId);

    /**
     * @author : yantao
     * @date   : 2022/11/16
     * @param  : [userCouponId]
     * @return : void
     * @description : 使用优惠券
     */
    void useCoupon(String userCouponId);
}
